using AppToolKit.Model;
using AppToolKit.Model.Validation;
using System;
namespace AppToolKit.Business
{
	public interface IEntityFactory<T> : IEntityFactory where T : class
	{
		IBusiness<T> Business
		{
			get;
			set;
		}
		void AfterCreate(T data);
		ValidateResultSet Valid(object entity, ValidateBehavior bechavior);
		void BeforeSave(T data);
		void AfterSave(T data);
		void BeforeUpdate(T data);
		void AfterUpdate(T data);
		void BeforeDelete(T data);
		void AfterDelete(T data);
		void BeforeDestory(T data);
		void AfterLoad(object t);
		void RegisterValidator();
	}
}
